package com.neu.utils.excel.processor;


import com.neu.entity.Tenant;
import com.neu.utils.excel.DataProcessor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;
import java.util.List;
import java.util.UUID;

@Slf4j
@Component
public class TenantDataProcessor implements DataProcessor<Tenant> {

    @Override
    public void process(List<Tenant> tenantList) {
        // 数据验证可以放在 DataProcessor 中或在此处进行
        boolean isValid = validateTenantData(tenantList);
        if (!isValid) {
            log.error("数据验证失败");
            // 可以选择抛出自定义异常以终止导入过程
            //throw new BusinessException("数据验证失败");
            return;
        }
        // 实现数据处理逻辑，例如清洗、转换等
        for (Tenant tenant : tenantList) {
            //生成一个 32 字符的字符串，不含破折号（-）
            String id = UUID.randomUUID().toString().replace("-", "");
            tenant.setTenantId(id);
            tenant.setDelFlag("1");
        }
    }
    private boolean validateTenantData(List<Tenant> tenantList) {
        for (Tenant tenant : tenantList) {
            if (!StringUtils.hasText(tenant.getTenantName())) {
                log.warn("租户名为空: " + tenant);
                return false;
            }
        }
        return true;
    }
}
